Release 10.1A: OpenEdge Development:
Progress Dynamics Web Development Guide


Development requirements and restrictions

This section details specific programming considerations that you should be aware of when developing Progress Dynamics applications for use in a Web environment.

Custom UI events

Custom UI events applied to dynamic viewer fields create dynamic triggers that either run a procedure or publish an event. If these triggers contain code that runs in a Web application, you must reproduce them in JavaScript. For more information on creating and deploying custom behaviors, see Chapter 5, " Customizing with Dynamic HTML."

ActiveX controls

Progress Dynamics does not support ActiveX controls for dynamic objects. Technically, it might be possible to emulate ActiveX controls through JavaScript. However, Progress Dynamics cannot register ActiveX controls in the repository as dynamic objects. Therefore, ActiveX controls are not dynamically rendered in Progress Dynamics Web applications.

Also note that ActiveX controls can be problematical for Internet applications in general because:

Client-side logic

Progress Dynamics SmartDataViewers store all UI logic as Progress 4GL procedures running persistently on the 4GL client. When the client is a Web browser, however, you must implement the client-side logic in JavaScript.

Progress Dynamics allows you to attach JavaScript functions for adding, updating, deleting, and validating records to WebDataObjects (WDOs). (WDOs are the client-side equivalents of SDOs). For more information, see Chapter 5, " Customizing with Dynamic HTML." In addition, see the "Client logic" section.

I/O blocking in server-side business logic

I/O blocking statements must be eliminated in server-side business logic. Progress Dynamics Web applications do not support user prompts or messages that are generated by business logic executing on the server side.

Menu and button enable/disable rules

Progress Dynamics Web applications implement the standard ADM2 rules for enabling and disabling of menu items and toolbar buttons. For example, menu selections are disabled or “grayed out” in response to application state or user actions.

The Toolbar and Menu Designer tool allows you to modify the enable and disable rules for Windows applications. However, modifications are not supported for Web applications. Web applications support only the default rules.

Server connection ID

For Progress Dynamics Web applications, you should disable the generation of SERVER-CONNECTION-ID in the WebSpeed Messenger (cgiip.exe).

Dynamic lookups

Developers should be aware of the following requirements affecting the use of lookups in Progress Dynamics Web applications:

Figure 4–4: Including displayed field in dynamic lookup retrieval

SmartBusinessObjects

A container with visual objects that use an SBO as a data source will function in a Web environment only if a single SDO is specified as the value for each of the following Container Builder fields: Data Sources, Update Targets, and Nav target.

If these values are not set, or if lists of values are specified for them, the container will not work in a Web application.

Pop ups in SmartViewerObjects

The default value of the ShowPopup property for a SmartViewer object is Yes. Overriding this value for a viewer instance in a container has no effect in a Progress Dynamics Web application. To suppress the pop-up button for certain data fields, you must change the default at the field level.

Comments

The following Comments features are not supported in Progress Dynamics Web applications:

TreeView

When developing TreeViews, you should be aware of several considerations for Web applications. This section describes these considerations with reference to the Dynamic TreeView Builder tool, the Tree Node Control tool, and TreeViews whose structure is generated by an extract program.

The following considerations apply to the Dynamic TreeView Builder tool:

The following considerations apply to the Tree Node Control tool:

When you use an extract program to generate a TreeView structure, you must populate the record_ref field with a specific value from the gsc_entity_mnemonic table. The value used depends on whether the application runs as a Web application or a Windows application, as follows:


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095